home *** CD-ROM | disk | FTP | other *** search
- /******************************************************************************
- ** **
- ** 《ソフト 名》 CHKDRIVE.COM Ver. 1.02 **
- ** 《製作者 名》 青木 大(AAM) **
- ** 《対応 機種》 MS-DOS全機種 **
- ** 《開発 言語》 386|ASM : 2.0 **
- ** 《開発 機種》 FM TOWNS CX + TownsOS V2.1 L20 **
- ** **
- ******************************************************************************/
-
- 《題 目》
- CHKDRIVE.COM Ver. 1.02
- 《目 的》
- 指定ドライブのレディ、ノットレディを判定する。
- 《使用方法》
-
- このプログラムは、指定ドライブの状態をリターンコードで返します。
- つまり、バッチファイル内において指定ドライブのレディ、ノットレディを知る
- ことが出来ます。
- 例えばRAMディスクをG:ドライブとすると、
-
- CHKDRIVE.COM G:
- IF ERRORLEVEL 1 GOTO NOT_READY
- RAMディスクが存在したときの処理
- GOTO END
-
- :NOT_READY
- RAMディスクが存在しないときの処理
- :END
-
- のようにAUTOEXEC.BATに書き加えれば、RAMディスクが存在した場合のみプロ
- グラムをコピーし、テンポラリディスクや環境変数TMENUをRAMディスクに設定
- することが出来ます。
- ちなみに私のAUTOEXEC.BATの一部は、次のようになっています。
-
- E:\APP\TOOL\COM\CHKDRIVE G: ; ラムディスクはGドライブ
- IF ERRORLEVEL 1 GOTO F_2
-
- REM ラムディスクが設定されている。
- SET TMP=G:
- SET TMENU=G:\TMENU
- MD %TMENU%
- COPY D:\TOWNS.ICN %TMENU% >nul
- SET ICN=%TMENU%
- COPY D:\TMENU.IF2 %TMENU% >nul
- COPY D:\TMENU.WIN %TMENU% >nul
- E:\APP\TOOL\EXE\CHG_ATT /H %TMENU% ; %TMENU% をHiddenにする
- GOTO F_1
-
- :F_2
- REM ラムディスクが設定されていない。
- SET TMP=F:
- SET ICN=D:\
- SET TMENU=D:\
- :F_1
- ECHO テンポラリディスクが %TMP% に設定されました。
-
- 《理 論》
-
- このプログラムは、致命的エラーの中断アドレスを自分の中の処理ルーチンに
- 移したあとで、ファイル「CHKDRIVE.TMP」を新規作成しようとします。その際にエ
- ラーが発生すればその時のエラーコードを、エラーが起きなければ0を返します。
- またリターンコードは次のとおりです。
-
- +-----------+----------------------------------------------------------+
- | RETCODE | エラー内容 |
- +-----------+----------------------------------------------------------+
- | 0 | ドライブが使用可能 |
- | 1 | ライトプロテクトされたドライブに書き込もうとした |
- | 2 | 存在しないユニット |
- | 3 | ドライブがノットレディ |
- | 4 | コマンドが無効 |
- | 5 | データのCRCエラー |
- | 6 | コマンド・パケットの長さが不正 |
- | 7 | シークエラー |
- | 8 | メディアタイプが不正 |
- | 9 | セクタが存在しない |
- | 10 | プリンタの用紙切れ |
- | 11 | 書き込み不良 |
- | 12 | 読み込み不良 |
- | 13 | 一般的なディスク不良 |
- | 14 | 「CHKDRIVE.TMP」が既に存在する |
- | 15 | ファンクションエラー |
- | 255 | コマンドパラメータ異常 |
- +-----------+----------------------------------------------------------+
-
- これは、TEST.BATを実行してみればすぐに分かると思います。
- 私はMS-DOSは持っていないので詳しいことは分かりませんが、DOSの
- 3.1と5.1ではディスクの管理方法が違うらしくDOS5.1のドライブを
- チェックに行くとまずいことが起きる可能性があるそうです。DOS5.1ユー
- ザーの方にとっては当然のことかもしれませんが、くれぐれも注意してください。
- またこのプログラムは、
- FM-TOWNS CX + Towns OS V2.1 L20
- PC-9801F + MS-DOS V3.3B
- FMR-60 + MS-DOS V3.1 L30A
- で動作確認をおこなっています。
-
- なおこのプログラムを使用したことによるファイル、ディスク等の破壊その他
- の障害についての責任は負えませんので、ご容赦願います。
- 私は通信をしていないため、パソコン通信への登録はご遠慮ください。
-
- 《最 後 に》
-
- フリコレは4から利用させてもらっていますが、参加するのは初めてです。本
- 当は、ゲームプログラムでの参加をしたかったのですが私の怠惰によって実現で
- きず、実用プログラムでの参加とさせてもらいました。RESやバグレポート等もい
- ただきたいのですが通信をしていない私は泣く泣く我慢することにします。
- 次回までには、ゲームプログラムとモデム、電話料金をそろえて参加したいと
- 思います。
-
- Written by AAM.